package org.wwb.antbox.user.iservice.system;

import org.ant.commons.models.model.BaseIdModel;
import org.ant.commons.models.result.BaseEditResult;
import org.ant.commons.models.result.BaseListResult;
import org.ant.commons.models.result.BasePageResult;
import org.ant.commons.models.result.BaseResult;
import org.ant.iservice.common.IBaseService;
import org.wwb.antbox.user.model.system.entity.SysSystem;
import org.wwb.antbox.user.model.system.model.SysSystemAddModel;
import org.wwb.antbox.user.model.system.model.SysSystemDelModel;
import org.wwb.antbox.user.model.system.model.SysSystemEditModel;
import org.wwb.antbox.user.model.system.model.SysSystemPageModel;
import org.wwb.antbox.user.model.system.view.SysSystemPageView;

/**
 * @Author Bond
 * @Date: 2019/10/4 19:55
 * @Description: 系统接口
 */
public interface ISysSystemService extends IBaseService<SysSystem, String> {
    /**
     * 系统分页查询
     * @param sysSystemPageModel 分页查询参数模型
     * @return BasePageResult<SysSystemPageView>
     */
    BasePageResult<SysSystemPageView> getSysSystemPage(SysSystemPageModel sysSystemPageModel);

    /**
     * 获取系统列表
     * @return List<SysSystem>
     */
    BaseListResult getSysSystemList();

    /**
     * 添加系统
     * @param sysUserAddModel
     * @return BaseResult<Integer>
     */
    BaseResult<Integer> saveSysSystem(SysSystemAddModel sysUserAddModel);

    /**
     * 删除系统
     * @param sysUserDelModel
     * @return BaseResult<Integer>
     */
    BaseResult<Integer> delSysSystem(SysSystemDelModel sysUserDelModel);

    /**
     * 跳转修改系统
     * @param baseIdModel id
     * @return
     */
    BaseEditResult doEditSysSystem(BaseIdModel<String> baseIdModel);

    /**
     * 编辑系统
     * @param sysUserEditModel
     * @return BaseResult<Integer>
     */
    BaseResult<Integer> editSysSystem(SysSystemEditModel sysUserEditModel);

}
